Skip to content

Remove dead upgrades through v7#101

Merged
algoradam merged 7 commits intoalgorand:masterfrom
algoradam:adam/remove-upgrades-through-v7
Jun 26, 2019
Merged

Remove dead upgrades through v7#101
algoradam merged 7 commits intoalgorand:masterfrom
algoradam:adam/remove-upgrades-through-v7

Conversation

@algoradam
Copy link
Copy Markdown
Contributor

Remove backward-compatibility code for some of the upgrades that happened before Mainnet launch and thus can be removed without impacting catchup. This PR should be reviewed one commit at a time; each commit removes backward compatibility code for one protocol upgrade so will be easier to read in isolation.

This PR removes upgrades through (but not including) v7. Remaining dead upgrades will be removed in a future PR.

Remove backward-compatibility code for old-style ephemeral keys.
We switched to fine-grained ephemeral keys in consensus v3.
In particular, always support closeout transactions
In particular, always support explicit ephemeral-key parameters
In particular, always use the new "twin seeds" seed algorithm
@algoradam algoradam requested review from derbear and removed request for derbear June 26, 2019 19:45
Comment thread crypto/onetimesig.go Outdated
Comment thread crypto/onetimesig.go
// PKSigOld is unused; however, unfortunately we forgot to mark it
// `codec:omitempty` and so it appears (with zero value) in certs.
// This means we can't delete the field without breaking catchup.
PKSigOld ed25519Signature `codec:"ps"`
Copy link
Copy Markdown
Contributor

@derbear derbear Jun 26, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@zeldovich Out of scope for this PR, but I was thinking of one way we can deprecate this field: Since signatures are never committed to in any way (they're part of the cert but they themselves are not signed), we could update all archival servers to supply certificates with this field missing. After all archives have updated, it should be safe to drop the field.

@algoradam algoradam merged commit 48dff1c into algorand:master Jun 26, 2019
@algoradam algoradam mentioned this pull request Jul 1, 2019
tmc pushed a commit to tmc/go-algorand that referenced this pull request Mar 7, 2025
* Remove IncorrectBalLookback (fixed with v5 upgrade)

* Remove support for coarse-grained ephemeral keys

Remove backward-compatibility code for old-style ephemeral keys.
We switched to fine-grained ephemeral keys in consensus v3.

* Remove pre-consensus-v4 backward compatibility code

In particular, always support closeout transactions

* Remove pre-v6 backward compatibility code

In particular, always support explicit ephemeral-key parameters

* Remove pre-v8 backward compatibility code

In particular, always use the new "twin seeds" seed algorithm

* Further remove support for old-style ephemeral sigs

* Deprecate all consensus versions before v7 and fix tests
@cce cce mentioned this pull request Mar 26, 2025
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants